package com.cskaoyan.javase.array._3exception._3length;
/**
 * 思考：
 * 数组长度为0和数组是null以及数组未初始化，有啥区别？
 *
 *
 * @since 14:41
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        // 局部变量没有初始化就不可用，完全不能用，任何操作都会编译报错。
        int[] arr;
        // System.out.println(arr[0]);

        // 下面这两种虽然也不是正常数组，但终究是可以用的。它们都是初始化过的数组。
        int[] arr2 = null;
        // 空指针异常是用一个null引用操作对象产生的异常，而如果引用没有操作对象，是不会产生这个异常的。
        System.out.println(arr2);
        // 以下通过引用操作对象，都是不行的。会运行报错，会有异常
        // System.out.println(arr2.length);
        // System.out.println(arr2[0]);

        int[] arr3 = new int[0];
        System.out.println(arr3);
        System.out.println(arr3.length);
        // System.out.println(arr3[0]);
    }
}
